package org.example;


import java.io.File;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
////        添加
//        Main.add();
////        删除
//        Main.del();
        File file = new File("/Users/cengyunke/Desktop/nacos");
        Main.allFile(file);
    }

    /**
     * 在指定文件夹下面创建新的文件、文件夹
     */
    public static void add() {
        File file = new File("/Users/cengyunke/Desktop/atm1/FileWork/src/main/resources/hello.txt");
        try {
            /**
             * 创建文件
             */
            file.createNewFile();
            /**
             * 创建文件夹
             */
//            file.mkdir();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 删除指定文件夹下的文件
     */
    public static void del() {
        File file = new File("/Users/cengyunke/Desktop/atm1/FileWork/src/main/resources/hello.txt");
        file.delete();
    }

    /**
     * 给出一个文件夹，打印出该文件夹下面的所有子文件，不管该文件再文件夹下面的第几层
     */
    private static void allFile(File file) {
        /**
         *   获得目标文件夹中所有子文件对象
         */
        File allFiles[] = file.listFiles();
        /**
         * 如果目标文件夹为空 -- 返回
         * 如果文件夹中的文件有文件夹 -- 递归
         */
        if (allFiles == null || allFiles.length == 0) {
            return;
        }
        for (File thisFile : allFiles) {
            if (thisFile.isDirectory()) {
                allFile(thisFile);
            } else {
                System.out.println(thisFile.getAbsolutePath());
            }
        }
    }
}